package main

import (
	"fmt"
	"github.com/gin-contrib/sessions"
	"github.com/gin-contrib/sessions/redis"
	"github.com/gin-gonic/gin"
	"html/template"
	"net/http"
	"project1/models"
	"project1/routers"
)

func initMiddleware1(c *gin.Context) {
	fmt.Println("这是一个中间件1")
	c.Next()
	fmt.Println("中间件之后1")
}

func initMiddleware2(c *gin.Context) {
	fmt.Println("这是一个中间件2")
	c.Next()
	fmt.Println("中间件之后2")
}

func get(c *gin.Context) {
	fmt.Println("测试页面")
	c.String(http.StatusOK, "测试页面")
}

func main() {
	r := gin.Default()

	r.SetFuncMap(template.FuncMap{
		"UnixToTime": models.UnixToTime,
	})
	r.LoadHTMLGlob("templates/**/*")

	r.Static("/static", "./static")

	//配置Session中间件
	//创建基于cookie的存储引擎，NewStore中的参数是密钥可以随意设置
	store, _ := redis.NewStore(10, "tcp", "localhost:6379", "", []byte("secret"))
	r.Use(sessions.Sessions("mysession", store))
	//第一个参数是web地址，第二个参数是映射到的目录
	routers.DefaultRoutersInit(r)
	routers.AdminRoutersInit(r)

	r.Run() // 监听并在 0.0.0.0:8080 上启动服务
}
